﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SimpleRemoteControl._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        <h2>
            Simple Browser Remote Control Server</h2>
        <p>
            Simple Browser Remote Control Server (SBRCS) exposes control, via HTTP GET 
            query string, of browsers on any
            machine capable of hosting an ASP.NET process.
        </p>
        <p>
            The initial use case is an extension to the automated JavaScript testing server
            <a href="http://code.google.com/p/js-test-driver/" target="_blank">js-test-driver</a>.</p>
        <p>
            Due to various platform and browser implementations, control of a specific instance
            of a browser is not possible in a simple and reliable manner. Thus, issuing an OPEN
            command opens a NEW instance of the specified browser(s) to the specified url. Issuing
            a CLOSE command closes ALL instances of the specified browser. Different versions
            of a particular browser may be supported by ensuring that the executable process
            names are distinct, e.g. firefox3.exe, firefox35.exe.</p>
        <h3>
            Supported Runtimes:</h3>
        <ul>
            <li>Microsoft .NET 2.0 and later.</li>
            <li>Mono 2.4.2 and later.</li>
        </ul>
        <h3>
            Tested Platforms:</h3>
        <ul>
            <li>Visual Studio Development Server</li>
            <li>IIS 5/6/7/7.5 on Microsoft Windows XP SP3 and later</li>
            <li>Mono XSP&nbsp; on Microsoft Windows XP SP3 and later, OS X 10.5.2, OpenSuSE Linux
                11.2</li>
        </ul>
        <h3>
            Downloads:</h3>
        <p>
            Visual Studio/MonoDevelop project source code.</p>
        <p>
            Includes <a href="http://json.codeplex.com/" target="_blank">Newtonsoft.Json.Net20</a> for JSON functionality.</p>
        <h3>
            Usage Examples:</h3>
        <p>
            Ensure that browsers listed in the web.config file are accurate. The query string
            sample assumes that Firefox and Opera are installed.</p>
        <h4>
            QueryString Usage Example:</h4>
        <ul>
            <li><code>?list[=ignored]<br />
                e.g.
                <a href="?list" target="_blank">?list</a></code><br />
                Returns a list array of registered browsers.<br />
                <br />
            </li>
            <li><code>?open={URL},all<br />
                e.g.
                <a href="?open=http://www.google.com,all" target="_blank">?open=http://www.google.com,all</a></code><br />
                Opens URL in a new instance of all registed browsers and returns launch status.<br />
                <br />
            </li>
            <li><code>?open={url},key[,key...]</code></li>
            <li><code>e.g. <a href="?open=http://www.google.com,opera,firefox" target="_blank">?open=http://www.google.com,opera,firefox</a></code><br />
                Opens URL in a new instance of each listed browser and returns launch status.<br />
                <br />
            </li>
            <li><code>?close=all<br />
                e.g.
                <a href="?close=all" target="_blank">?close=all</a></code><br />
                returns close status.<br />
                <br />
            </li>
            <li><code>?close=key[,key...]<br />
                e.g.
                <a href="?close=opera,firefox" target="_blank">?close=opera,firefox</a></code><br />
                Close ALL instances of listed browsers and returns close status.
                <br />
            </li>
        </ul>
    </div>
    
</body>
</html>
